package com.java.yz.day07.homework;

/*
编写应用程序，创建类的对象，分别设置圆的半径、圆柱体的高，计算并分别显示
圆半径、圆面积、圆周长，圆柱体的体积。  (7 分)
提示:  (1) 编写一个圆类 Circle ，该类拥有：
1)     一个成员变量，radius  (私有，浮点型) ;//存放圆的半径；
2)     两个构造方法
Circle  ()               //将半径设为 0
Circle  (double    r   ) //创建 Circle 对象时将半径初始化为 r
3)     三个成员方法
double getArea  ()       //获取圆的面积
double getPerimeter  ()   //获取圆的周长
void show  ()            //将圆的半径、周长、面积输出到屏幕
(2)  编写一个圆柱体类 Cylinder ，它继承于上面的 Circle 类。还拥有：
1)     一个成员变量，double hight       (私有，浮点型) ;    //圆柱体的高；
2)     构造方法
//创建 Cylinder 对象时将半径初始化为 r,高度初始化为 h
Cylinder  (double r,double h)
3)     成员方法
double getVolume  ()
void showVolume  ()
//获取圆柱体的体积
//将圆柱体的体积输出到屏幕
 */
import java.util.Scanner;
class Circle{
    private double radius;
    Circle  (){
        this.radius=0;//将半径设为 0
    }
    Circle  (double r){
        this.radius=r;//创建 Circle 对象时将半径初始化为 r
    }
    public double getArea  (double r){
        return r*r*Math.PI;
    }
    public double getPerimeter  (double r){
        return 4*Math.PI*r;
    }
    public void show  (){
        System.out.println("圆的半径为："+radius);
        System.out.println("圆面积为："+getArea(this.radius));
        System.out.println("圆周长为："+getPerimeter(this.radius));
    }
}

class Cylinder extends Circle{
    private double hight;
    double r;
    Cylinder(){
    }
    Cylinder  (double r,double h){
        super(r);   //要记得写一个无参构造的方法
        this.hight=h;
        this.r=r;
    }
    double getVolume  (double r,double h){
        return r*r*h*Math.PI;
    }
    void showVolume  (){
        System.out.println("圆柱体的体积为："+getVolume(this.r,this.hight));
    }
}
public class TextDemo1 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个圆的半径：");
        double r = scanner.nextDouble();
        System.out.println("请输入一个圆的高度：");
        double h = scanner.nextDouble();
        Cylinder cylinder = new Cylinder(r,h);
        cylinder.show();
        cylinder.showVolume();
    }
}
